package ua.pp.pycb6a.yandexdisk;

public interface YandexDisk {

    void authenticate(String login, String password);

    String getLogin();

    String getLocalYandexDisk();

    void setLocalYandexDisk(String localYandexDisk);

    String getLocation();

    void setLocation(String... directories);

    void setRootLocation();

    void getFreeAndUsedSpace();

    void getCurrentDirectoryContent();

    void getDefaultCurrentDirectoryProperties();

    void getDefaultFileProperties(String filename);

    void uploadFile(String filename);

    void downloadFile(String filename);

    void createDirectory(String directory);

    void deleteResource(String resource);

    void publishCurrentDirectory();

    void unpublishCurrentDirectory();

    void publishFile(String filename);

    void unpublishFile(String filename);

    boolean isPublicCurrentDirectory();

    boolean isPublicFile(String filename);

    String getCurrentDirectoryPublicLink();

    String getFilePublicLink(String filename);
}
